perm filename ERRATA.TEX[WEB,ALS]1 blob sn#649846 filedate 1982-03-26 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input kermac
C00007 ENDMK
CāŠ—;
\input kermac
\input papmac
    \def\TEX{\hbox{T\hskip-.125em\lower.5ex\hbox{E}\hskip-.075em X}}
    \def\_{\undertext{ }}
%\magnify{1100}
\fullpages
\ctrline{\bf Errata for the December 1981 release of WEAVE and TANGLE}
The following two bugs should have been corrected in the tape copy of WEAVE and
TANGLE that you received from us, but they were not.

1) MODULE as an array name (as used in both WEAVE and TANGLE) is not allowed
by some PASCAL compilers. This name may be replaced directly in the .PAS code by
using your system text editor.  The introduction of the following
as a WEB {\bf define} in module 6 of both WEAVE and TANGLE should handle the matter.
Pick any newname that suits your fancy.

{\rraggedd
\@d module == newname \ $\{$replace module by newname$\}$
}

This will appear in the final \TEX\ output as:\lbrk
{\rraggedd
{\bf define} {\it module}{\sy \char'21}{\it newname}  $\{$replace {\it module} by {\it newname}$\}$
}

\vskip 10 pt
2) A bug in the WEAVE program may lead to the omission of paragraph breaks
in some instances.  Changes, as noted below, should be made to modules 97
and 98 on page 51 of the printed document and corresponding
corrections should be made to WEAVE.WEB.

Line 1798 (module 97) which reads:\lbrk
{\rraggedd
  {\bf begin} if {\it out}\_{\it buf\/}[b]=" " {\bf then} {\it decr\/}(b);
}

should now read:\lbrk
{\rraggedd
  {\bf begin} if ({\it out}\_{\it buf\/}[b]=" ") {\bf and} (b>0) {\bf then} {\it decr\/}(b);
}

Lines 1816 through 1818 (module 98) which read:\lbrk
{\rraggedd
{\bf define} {\it finish}\_{\it line\/}=
\qquad{\bf begin if} ({\it out}\_{\it ptr}>0) {\bf or} ({\it limit}=0) {\bf then} {\it flush}\_{\it buffer\/}({\it out}\_{\it ptr});
\qquad{\bf end}
}

should be replaced by:\lbrk
{\rraggedd
{\bf procedure} {\it finish}\_{\it line\/}; $\{$do this at the end of a line$\}$
\quad{\bf label} {\it exit\/};
\quad{\bf var} k:0..{\it buf}\_{\it size\/}; $\{$index into {\it buffer}$\}$
\quad{\bf begin}
\quad{\bf if} {\it out}\_{\it ptr}>0 {\bf then} {\it flush}\_{\it buffer\/}({\it out}\_{\it ptr\/})
\quad{\bf else}
\qquad{\bf begin}
\qquad{\bf for} k:=0 {\bf to} {\it limit} {\bf do}
\qquad\quad{\bf if} ({\it buffer\/}[k]<>" ") {\bf and} ({\it buffer\/}[k]<>{\it tab}\_{\it mark\/}) {\bf then return};
\qquad{\it flush}\_{\it buffer\/}(0);
\qquad{\bf end};
{\it exit\/}:{\bf end};
}

\vfill
{\noindent March 25, 1982}

\end
In .WEB this will appear as:
{rraggedd
\@p  procedure finish; $\{$do this at the end of a line$\}$
}
with the rest left as an exercise for the reader.

\ \\, \ \$, \ $\{$, \ $\}$, \ \%, \ $\otimes$, \ $\#$, \ $\up$, and \ $\down$,